#include "linux_tcp.h"
// Linux Socket编程接口
#include <sys/socket.h>
// Socket IPv4地址结构接口
#include <netinet/in.h>
// Socket IP地址转换接口
#include <arpa/inet.h>
// Linux 文件IO接口
#include <unistd.h>
// C库
#include <stdio.h>
#include <string.h>


int LinuxUdpClient(const char *host, unsigned short port)
{
    /* 创建buffer */
    char send_buf[64] = "TCP Client Over";

    /* 创建socket */
    int sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sock_fd < 0) {
        printf("[ERROR] socket fail\n");
        return -1;
    }
    printf("[INFO] socket success\n");

    /* 定义地址结构 */
    struct sockaddr_in server_addr = {
        .sin_port = htons(port),
        .sin_family = AF_INET,
        // inet_addr将服务端IP地址从“点分十进制”字符串，转化为标准格式（32位整数）
        .sin_addr.s_addr = inet_addr(host)
    };

    /* 向TCP服务器发送数据 */
    if (sendto(sock_fd, send_buf, strlen(send_buf), 0, (struct sockaddr *)&server_addr, sizeof(server_addr)) <0 ) {
        printf("[ERROR] send fail\n");
        return -1;
    }
    printf("[INFO] send success\n");

    /* 关闭文件 */
    close(sock_fd);
    return 0;
}

